import { DataBase, TableObject } from "@/type/global";
import { request } from "umi";

/**
 * @description 获取 mock 数据类型
 */
export function getKeyName() {
    return request<DataBase[]>('http://localhost:9520/data', {
        method: 'get'
    });
}

/**
 * @description 根据名称查询到 mock 的数据
 */
export function getMockData(name: string) {
    const url = name ? `http://localhost:9520/data?key=${name}` : 'http://localhost:9520/data'
    return request<DataBase[]>(url, {
        method: 'get'
    })
}

/**
 * @description 修改 mock 树
 */
export function updateMockData(data: DataBase) {
    return request(`http://localhost:9520/data/${data.id}`, { method: 'put', data });
}

/**
 * @description 新增 mock 数据
 */
export function addMockData(data: DataBase) {
    return request('http://localhost:9520/data', { method: 'post', data });
}

/**
 * @description 删除 mock 数据
 */
export function deleteMockData(id: string | number) {
    return request(`http://localhost:9520/data/${id}`, { method: 'delete' })
}

/**
 * @description 获取所有的表格
 */
export function getTableData() {
    return request('http://localhost:9520/table', { method: 'get' })
}

/**
 * @description 保存表格
 */
export function saveTable(data: TableObject) {
    return request('http://localhost:9520/table', {
        method: 'post',
        data
    })
}

/**
 * @description 保存表格
 */
export function getTable(data: string) {
    const url = data ? `http://localhost:9520/table?tableComment=${data}` : 'http://localhost:9520/table'
    return request(url);
}

/**
 * @description 删除表格
 */
export function deleteTable(id: string | number) {
    return request(`http://localhost:9520/table/${id}`, { method: 'delete' });
}
